Conventionally, in a storage apparatus, a non-volatile storage medium capable of random access; for example, a magnetic disk or an optical disk, has been used as the data storage medium. Particularly in recent years, a storage apparatus comprising numerous compact disk drives is becoming mainstream.
Moreover, pursuant to the advancement of semiconductor technology in recent years, a non-volatile semiconductor memory capable of bulk erasing has been developed. As an example of this type of non-volatile semiconductor memory, there is a flash memory. A storage apparatus that uses a flash memory as its storage medium is considered to be superior in terms of power saving and faster access time in comparison to a storage apparatus comprising numerous compact disk drives.
The foregoing flash memory is characterized in that data cannot be directly rewritten into a previously recorded data area. Thus, upon rewriting recorded data, after reading the recorded data, it is necessary to erase the recording area, and perform write processing of writing update data into the erased unwritten area. Nevertheless, since the erase time of a flash memory is longer than its write time, generally speaking, a method is adopted where, upon writing data, old data is once read and thereafter combined with the write data to create update data, the created update data is written into a separate unwritten area, and invalidating the original recording area (processing which disables the referral from a host system). If the unwritten area is depleted, the invalided area is erased to create a new unwritten area.
Nevertheless, with a flash memory, there is a limit in the number of times that the data can be erased. Thus, with a data area in which the rewriting of data is concentrated and erase count has increase, data can no longer be erased and it will become unusable. Thus, it was necessary to make sure that the data erase processing is not concentrated on a specific data area. Moreover, with a flash memory, since a page that is once written will also entail an increased read error rate with the lapse of time, an operation referred to as “refresh” of writing a page in which a given period of time has elapsed from the writing thereof to a separate page is required.
With a flash memory having the foregoing characteristics, de-duplication technology of shortening the data erase time or reducing the erase count is being used (for example, PTL 1). De-duplication technology is technology of associating, in cases where a logical address provided by a host system and a physical address of the actual storage area are associated and managed, a plurality of logical address spaces storing the same data with one physical address space storing such data. As a result of using the de-duplication technology, it is possible to reduce the amount of data that is written, and prolong the life and improve the performance stability of a flash memory in a storage apparatus that uses a flash memory as its storage medium.